#include "circle.h"

Circle::Circle(QObject *parent) :
    QObject(parent),
    QGraphicsItem()
{
    growth = 0;
}

Circle::~Circle()
{

}

QRectF Circle::boundingRect() const
{
    return QRectF(-5, -5, 10, 10);
}

void Circle::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
    QPolygon polygon;
    painter->setBrush(Qt::green);
    painter->setPen(Qt::NoPen);
    /// Помещаем координаты точек в полигональную модель
    polygon<< QPoint(0,-5)<< QPoint(5,-2)<< QPoint(5,2)<< QPoint(0,5)<< QPoint(-5,2)<< QPoint(-5,-2);
    painter->drawPolygon(polygon);  /// Рисуем шестиугольник по полигональной модели
    Q_UNUSED(option);
    Q_UNUSED(widget);
}

void Circle::slotTimeout()
{
    if(!isVisible()){
        if(++growth == 1000){
            growth = 0;
            setVisible(true);
        }
    }
}

bool Circle::eaten()
{
    if(isVisible()){
        setVisible(false);
        return true;
    }
    return false;
}
